A web browser (commonly referred to as a browser) is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. Some web browsers utilize a technology referred to a Web Real-Time Communications (WebRTC). WebRTC is an application programming interface (API) drafted by the Worldwide Web Consortium (W3C) that supports browser-to-browser application for video-calling, video chat, peer-to-peer (P2P) file sharing, and the like, without requiring a plugin in the browser.
Many mobile devices (e.g., smart phones, tablets) do not include or support the WebRTC technology. Therefore, the mobile device is not capable of browser-to-browser communications with a client who is using, for example, a personal computer that does include or support the WebRTC technology. Because of the mismatch in browser capability, a plugin or other additional software may need to be loaded onto the mobile device to support browser-to-browser communications.
In addition, in the existing WebRTC architecture, a plurality of signaling servers (a.k.a., signaling hosts) and a plurality of media servers (a.k.a., media hosts) are used to facilitate communications between, for example, the client and a target (e.g., the user of the mobile device). At bootstrap time, each media server is bound to one signaling server. In others words, each signaling server is manually configured to communicate with only one media server. This allocation of one media server for each signaling server is static. In the event that a media server fails, the corresponding signaling server may be unaware of the failure. Thus, the signaling server may continue to accept traffic while the corresponding media server is down, which may lead to an undesirable service issue.